// constSpringDisSerialManager.cpp: implementation of the ConstSpringDisSerialManager class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "constSpringDisSerialManager.h"
#include "PHSShare.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

ConstSpringDisSerialManager::ConstSpringDisSerialManager()
{

}

ConstSpringDisSerialManager::~ConstSpringDisSerialManager()
{

}

ConstSpringDisSerial* ConstSpringDisSerialManager::GetConstSpringDisSerial(const CString& strStandard)
{
	ConstSpringDisSerial* pSerial = this->GetManaged(strStandard);
	if(pSerial != NULL)
		return pSerial;

	pSerial = CreateDisSerial(strStandard);
	if(pSerial == NULL)
		return NULL;
	this->Add(strStandard, pSerial);
	return pSerial;
}

ConstSpringDisSerial* ConstSpringDisSerialManager::CreateDisSerial(const CString& strStandard)
{
	ConstSpringDisSerial* pSerial = new ConstSpringDisSerial;
	if(pSerial == NULL)
	{
		ReportMemoryError();
		return NULL;
	}
	
	pSerial->SetDataStandard(strStandard);
	if(!pSerial->GetDisSerial())
	{
		delete pSerial;
		return NULL;
	}
	return pSerial;
}